TOP

Sentence Case LibreOffice Calc の関数

SENTENCECASE()

SENTENCECASE() 関数は、既存のテキストを文形式に変換するように設計されており、次の形式で単語のセットを返します。 "Sentence case function"

Sentence Case は、ピリオド、感嘆符、または疑問符で区切られた行を個別の文に分割します。次に、文の最初の文字を除くすべての単語を小文字に変換し、すべての要素を 1 つの連続したテキストに結合します。

SENTENCECASE() 関数は、テキスト全体にわたって文中の文字の大文字と小文字を修正するのに役立ちます。


StarBASIC SENTENCECASE() のコード

以下は、LibreOffice Calc で文内の単語の大文字と小文字を区別できるカスタム関数 (Sentence Case) を作成するマクロ コードです。

メニュー Tools - Macros - Edit Macros... を開き、Module1 を選択して、次のテキストをモジュールにコピーします。

Function SentenceCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim sentences As Variant
  Dim i         As Integer
  Dim FCalc     As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")    
  
  str = Replace(str,"-"," ")
  str = Replace(str,"_"," ")
  str = FCalc.callFunction("TRIM", Array(str))
  str = LCase(str)
  str = FCalc.callFunction("REGEX", Array(str,"([.!?])(\s)(\w)","$1#$3","g"))
  
  sentences = Split(str, "#")
    
  For i = LBound(sentences) To UBound(sentences)       
    sentences(i) = UCase(Left(sentences(i), 1)) & Mid(sentences(i), 2)       
  Next i
    
  SentenceCase = Join(sentences," ")
End Function

次に、Macro Editor を閉じ、LibreOffice Calc に戻り、任意のセルで新しい関数を使用します。

拡張機能の使用

という機能も使えます SENTENCECASE() 無料の拡張機能をインストールすることで YouLibreCalc.oxt またはそのフル機能バージョン YLC_ユーティリティ.oxt

その後、この関数は LibreOffice Calc で開かれるすべてのファイルで使用できるようになります。